﻿using System.Collections.Generic;
using DefaulArchitecture.Domain;

namespace DefaulArchitecture.Paging
{
    /// <summary>
    /// Ordenação da paginação
    /// </summary>
    public enum EOrder
    {
        asc,
        desc
    }

    /// <summary>
    /// Classe de suporte à paginação de DTOs
    /// </summary>
    /// <typeparam name="T">Tipo de "DTO" - Nome da tabela</typeparam>
    public class Pager<T> where T : IDomain
    {
        public int TotalItems { get; set; }
        public int PageSize { get; set; }
        public int PageNumber { get; set; }
        public EOrder Order { get; set; }
        public string OrderField { get; set; }
        public T Filter { get; set; }
        public ICollection<T> List { get; set; }
    }
}